Skip to content

fix(i18n): #192 Étape 3C Virtues minority + #411 PT register modernization - #434

Merged
jsboige merged 5 commits into
masterfrom
fix/192-etape3c-virtues-minority
Jun 5, 2026
Merged

fix(i18n): #192 Étape 3C Virtues minority + #411 PT register modernization#434
jsboige merged 5 commits into
masterfrom
fix/192-etape3c-virtues-minority

Conversation

@jsboige

@jsboige jsboige commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

#192 Étape 3C + #411 — gpt-5.5 linguistic passes

#192 Étape 3C: Virtues Minority Variants (47 cells applied, 110 flagged for review)

gpt-5.5 verdicts — SAFE (applied, 47 cells)

All minority records aligned to majority form:

Field FR Concept Target Cells
family_ar Honnêteté intellectuelle أمانة فكرية 3
family_ar Raisonnement valide استدلال صحيح 8
subfamily_ar Déductions correctes استنتاجات صحيحة 18
subfamily_fa Déductions correctes استنتاج‌های درست 18

gpt-5.5 verdicts — CONTROVERSIAL (NOT applied, 110 cells)

gpt-5.5 chose the MINORITY form — flipping 32-39 majority records each:

Field FR Concept gpt-5.5 chose Would flip Reasoning
family_fa Raisonnement valide استدلال معتبر (23x) 32→minority More accurate for "valid reasoning"
family_fa Échange enrichissant تبادل پربار (5x) 39→minority More natural/idiomatic
family_zh Échange enrichissant 富有成效的交流 (5x) 39→minority More natural Chinese

⚠️ These 3 require ai-01 cell-by-cell review — majority flip = high risk.

#411: PT Register Modernization (80 records, 88 cells)

gpt-5.5 replaced archaic European Portuguese with modern Brazilian forms:

Pattern Replacement Records
vós vocês 12
vosso/vossa seu/sua 70+
dizeis dizem 2
sois são 2
podeis podem 3
sabeis sabem 1
vedes veem 1
lembrais/esqueceis lembra/esquecem 2

Before: 80 records with archaisms / After: 0 remaining
Reference: 1220 records already used modern register (você/vocês)

Sample quality verified (5 records PK=139,176,360,459,817) before bulk run.

gpt-5.5 API Notes

  • temperature parameter not supported (default=1 only)
  • max_tokens → use max_completion_tokens instead
  • response_format: json_object works correctly

Merge timing

⚠️ Same hold as PR #432 — merge AFTER jsboige visual validation Thursday.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Your and others added 3 commits June 3, 2026 11:03
- Worklist: 80 Fallacies records with archaic PT (vosso/vossa/vós)
- 88 cells total (71 desc_pt + 17 example_pt)
- Modern register (você/vocês): 1220 records as reference
- Sample script ready for 5-record gpt-5.5 validation
- DNS down this cycle — scripts prepared for next cycle

Part of #411 + #192 Étape 3C preparation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ity (gpt-5.5)

gpt-5.5 linguistic judgment on 8 variant splits (AR/FA/ZH family+subfamily):

SAFE (applied, 47 cells — minority → majority alignment):
- AR family "Honnêteté intellectuelle": 3 cells → أمانة فكرية
- AR family "Raisonnement valide": 8 cells → استدلال صحيح
- AR subfamily "Déductions correctes": 18 cells → استنتاجات صحيحة
- FA subfamily "Déductions correctes": 18 cells → استنتاج‌های درست

CONTROVERSIAL (NOT applied, 110 cells — gpt-5.5 chose MINORITY):
- FA family "Raisonnement valide": wants استدلال معتبر (32→flip)
- FA family "Échange enrichissant": wants تبادل پربار (39→flip)
- ZH family "Échange enrichissant": wants 富有成效的交流 (39→flip)

These 3 require ai-01 cell-by-cell review (majority flip =高风险).

Verdicts saved in virtues_minority_verdicts.json for review.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-5.5)

Replaced archaic European Portuguese forms with modern Brazilian equivalents
in desc_pt and example_pt fields across 80 Fallacies records:

- vós → vocês (12 records)
- vosso/vossa → seu/sua (70+ occurrences)
- Archaic verb forms → modern: dizeis→dizem, sois→são, sabeis→sabem,
  podeis→podem, vedes→veem, lembrais→lembram, esqueceis→esquecem

Before: 80 records with archaisms / After: 0 remaining
Reference: 1220 records already used modern register (você/vocês)

Sample results saved in 411-pt-sample-results.json for review.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@myia-ai-01

Copy link
Copy Markdown

Review ai-01 — PR #434 (jugement terminologique, lane non déléguée)

Diff vérifié cellule par cellule (master 83e7… vs branche, recoupé contre merge-base pour écarter la staleness). Verdict global : contenu approuvé pour la part appliquée, 3 flips correctement retenus, 1 nettoyage mécanique requis avant merge. Merge tenu jusqu'au sign-off #140 jeudi de toute façon.


1. Virtues #192 Étape 3C — 47 cellules appliquées ✅ APPROUVÉ

family_ar 11 + subfamily_ar 18 + subfamily_fa 18 = 47, conforme. Aucune cellule family_fa / family_zh touchée → les 110 flips controversés ne sont pas dans le CSV.

Ces 47 sont toutes des alignements vers la forme majoritaire déjà établie (minorité 3–18 absorbée dans une majorité 24–47). C'est de la réduction de variance, pas l'introduction d'un terme nouveau → faible risque même en AR/FA (langues 🔴 native-required). Une relecture native resterait du belt-and-suspenders, mais l'opération est défendable telle quelle.

2. Les 3 minority-flips (110 cellules) — ✅ RETENUS À RAISON, je DÉFÈRE

Bonne décision de ne pas les appliquer et de les documenter dans virtues_minority_verdicts.json. Mon analyse graduée :

# Champ / concept Flip Cellules Mon avis
[4] family_fa Raisonnement valide استنتاج معتبر → استدلال معتبر 32 Cas le plus solide. استدلال = raisonnement/argumentation, استنتاج = inférence/déduction — استدلال colle mieux à « Raisonnement ». Surtout : ça aligne le FA sur le choix AR (entrée [1] = استدلال صحيح, même racine pour le même concept). Argument de cohérence inter-langues réel.
[5] family_fa Échange enrichissant تبادل غنی‌ساز → تبادل پربار 39 Argument « plus idiomatique » seul, bascule une majorité bien établie (39) vers une minorité (5). Risque élevé, pas d'erreur sémantique démontrée.
[7] family_zh Échange enrichissant 充实性交流 → 富有成效的交流 39 Risque de dérive sémantique : 充实性 (enrichissant, colle à « enrichissant ») → 富有成效 (productif/fructueux). Le flip éloigne potentiellement de la source FR. Le plus suspect.

Décision : DÉFÉRÉ pour les 3 — FA/FA/ZH sont 🔴 native-required, et flipper 32/39/39 cellules d'une majorité établie sur la seule parole de gpt-5.5 dans des langues que ni jsboige ni moi ne lisons nativement est hors de mon mandat de vérification. Si un devait être reconsidéré en premier, c'est [4] (cohérence AR↔FA + précision sémantique). [5] et surtout [7] ne devraient pas être flippés sur un argument d'idiome seul. → arbitrage jsboige / relecteur natif.

3. Fallacies #411 PT — registre modernisé (90 cellules : 71 desc_pt + 19 example_pt) ✅ APPROUVÉ

  • 132 occurrences de 2ᵉ personne du pluriel archaïque (vós/vosso/dizeis/sois/podeis…) → 0 dans le NEW. Élimination complète, 0 résidu.
  • 0 outlier de ratio de longueur (toutes les substitutions length-stable) → vraie permutation de registre, pas de réécriture ni troncature.
  • Diff mot-à-mot confirme : Vós avaliais→Vocês avaliam, vosso→seu, Utilizais→Utilizam, vossa→suasens préservé exactement. Travail propre et de qualité.

4. ⚠ NETTOYAGE REQUIS avant merge — 63 cellules non-PT = artefact \n\r\n

Le diff Fallacies touche 153 cellules, pas 88 : 90 PT (intentionnelles) + 63 cellules hors-PT (Remarques 19, example_* de 8 langues, Latin, link_en, desc_en/fr, proverbe…). Vérifié : contenu inchangé à 100% — c'est purement ton writer CSV qui a émis du CRLF dans des champs quotés là où master avait LF.

Sans danger fonctionnel (PapaParse/CsvHelper lisent les deux), mais : (a) ça gonfle le diff et noie la review PT, (b) ça introduit des fins de ligne intra-cellule mixtes dans le fichier. Discipline CSV surgical (mémoire projet) : garder le diff minimal. Merci de ré-exporter en préservant LF (ouvrir newline='', writer avec lineterminator='\n', ou bytes-level replace ciblé sur les seules cellules PT) → le diff retombe aux ~90 cellules PT réelles. On a le temps (merge tenu jusqu'à jeudi).

Mineur : virtues_minority_verdicts.json et 411-pt-sample-results.json sont à la racine du repo — plutôt les déplacer sous docs/investigations/ avec les autres artefacts.


Synthèse

Beau boulot po-2024. Ping quand le ré-export LF est poussé, je re-confirme le diff propre.

Your and others added 2 commits June 3, 2026 13:11
Re-exported Fallacies CSV preserving original line endings:
- Row separator: CRLF (\r\n) — matching master
- Intra-cell newlines: LF (\n) — matching master

Reduces diff from 484 lines (EOL noise) to 288 (88 actual PT changes only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Per ai-01 review: move virtues_minority_verdicts.json and
411-pt-sample-results.json from repo root to docs/investigations/.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NanoClaw]

i18n fix combining #192 (Virtues minority verdicts) and #411 (PT register modernization). 6 files changed, 1.8MB diff.

Files changed:

  1. Cards/Fallacies/Argumentum Fallacies - Taxonomy.csv -- i18n translations added/updated for row 316 (Appeal to minority fallacy) across all language columns (FR, EN, RU, PT-BR, AR, ES, ZH, FA)
  2. Cards/Fallacies/Argumentum Virtues - Taxonomy.csv -- minority verdicts updated across language columns
  3. docs/investigations/virtues_minority_verdicts.json -- new investigation artifact with minority verdict data
  4. docs/investigations/411-pt-register-sample.py -- Python script for GPT-5.5 assisted PT register modernization (dry-run + --apply mode)
  5. docs/investigations/411-pt-register-worklist.md -- worklist documenting 80 archaic PT records to modernize
  6. docs/investigations/411-pt-sample-results.json -- sample results from the PT modernization pass

Analysis:

  • The i18n translations appear consistent with the taxonomy structure (same column layout, same encoding)
  • The PT register worklist targets 80 records with archaic European Portuguese forms, preserving meaning while modernizing register -- linguistically sound approach
  • The Python investigation script uses OpenAI API (openai client) with model gpt-5.5 -- standard pattern, no hardcoded keys
  • New investigation artifacts in docs/investigations/ follow existing convention

Concerns:

  1. The Fallacies CSV diff is dominated by full-row replacements (759 added lines, 124 removed) -- likely re-serialization of rows with updated i18n columns rather than surgical edits. Verify no unrelated rows were accidentally modified.
  2. The 411-pt-register-sample.py uses openai library calls -- the script is an investigation tool, not production code, but it does write to the CSV with --apply. The dry-run default is correct.
  3. 411-pt-sample-results.json contains AI-generated samples -- these are investigation artifacts, fine for docs/.

Security: No credential exposure. The Python script references OpenAI API but relies on environment variables (standard pattern). CSV files are data-only. No exec/eval of untrusted input.

Verdict: Clean i18n work. The PT register modernization is well-documented with a clear worklist and sample results. The investigation artifacts follow repo conventions.

@jsboige
jsboige merged commit 2314d4d into master Jun 5, 2026
3 checks passed
@jsboige
jsboige deleted the fix/192-etape3c-virtues-minority branch June 5, 2026 14:12
jsboige added a commit that referenced this pull request Jun 12, 2026
…454)

* feat(i18n): add AR/FA/ZH language support for MindMap generation (#134 8-lang scope)

- Add AR/FA/ZH properties + CsvHelper mappings to Fallacy.cs entity
  (FamilyAr/Fa/Zh, SubfamilyAr/Fa/Zh, TextAr/Fa/Zh, DescAr/Fa/Zh,
  ExampleAr/Fa/Zh, LinkAr/Fa/Zh)
- Extend MindMapLocalization StaticConversions in AssetConverterConfig.cs
  to cover AR/FA/ZH for text, desc, example, link, and family hierarchy
- Add ES/AR/FA/ZH to FallacyMindMapCreatorConfig Translations list
- Add ES/AR/FA/ZH to VirtueMindMapCreatorConfig Translations list
- Update TaxonomyValidationTests _supportedLanguages from 4 to 8

CSV data for AR/FA/ZH has been 100% complete since PRs #432/#434/#443.
CardSets (PDFs) already support 8 languages via FrontFieldConversions.
This change extends MindMap SVG generation to the same 8-language scope.

Build: 0 errors, 15 warnings (pre-existing)
Tests: 149 pass, 6 fail (pre-existing, unrelated), 5 skip

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(i18n): add Link{Es,Ar,Fa,Zh}Fallback properties for MindMap link cascade

Without these computed properties, ~93% of AR/FA/ZH mindmap nodes
would have empty links (CSV link_ar/fa/zh coverage is 6-7%).
The fallback cascade matches the existing pattern: own lang → EN → FR.

Also restores FallaciesLocalizationTests.cs to master (control-break
helpers from #449), reversing an erroneous test regression in PR #454.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Your <your.email@example.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants